FIG. 1A illustrates one embodiment of a typical installation of a MICROSOFT WINDOWS operating system in which an operating system executing on a computing device queries a function to determine whether a connection to a second computing device exists, whether any such connection is active, or a type of presentation layer protocol according to which the two computing devices communicate; the function returns the appropriate responses. The operating system may, for example, directly call a function via an applications programming interface; alternatively, and in some environments, the operating system calls a hooking component 202, which makes the determination. The operating system may determine whether or not to enable certain functionality based upon a type or status of a presentation layer protocol session.
In some embodiments, either a component within the operating system or a component external to the operating system asks the operating system to determine if there is a remote session or not. In one of these embodiments, the operating system will then query a metrics acquisition function—for example, via an API or a hooking component 202—to determine whether there is an active presentation layer protocol session; the operating system returns the response to the component that made the query. In another of these embodiments, the component may determine whether or not to enable certain functionality based upon a type or status of a presentation layer protocol session. The operating system and its sub-components do not typically provide access to functionality intended for use in a session maintained according to a first presentation layer protocol when a session is maintained according to a second presentation layer protocol.